Spring Boot +JWT +MybatisPlus,使用Token登录详细教程,附源码! |
您所在的位置:网站首页 › spring Boot 集成jwt › Spring Boot +JWT +MybatisPlus,使用Token登录详细教程,附源码! |
一、新建Spring Boot项目 1.File→New→Module 2.点击下一步 3.写完这些,点击下一步 4.选择插件 5.选择项目地址,选择完成后点击Finish 二 1…创建完成后,修改pom.xml文件,添加以下依赖 com.baomidou mybatis-plus-boot-starter 3.2.0 org.apache.commons commons-lang3 3.5 com.alibaba fastjson 1.2.45 com.auth0 java-jwt 3.8.3 org.springframework.boot spring-boot-starter-tomcat provided io.jsonwebtoken jjwt 0.9.12.修改配置文件application.properties名称为application.yml,并创建新文件application-dev.yml 3.application.yml配置 spring: profiles: active: dev4.application-dev.yml配置 server: port: 9099 spring: application: name: demo datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/service_data?characterEncoding=utf-8&userUnicode=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root hikari: minimum-idle: 3 maximum-pool-size: 5 max-lifetime: 0 jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss default-property-inclusion: non_null servlet: multipart: max-file-size: 1024MB max-request-size: 2048MB #thymeleaf的配置 thymeleaf: cache: false enabled: true #配置mybatisplus mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml global-config: db-config: id-type: auto configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl5.在Navicat中执行sql脚本 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for user_kmmy -- ---------------------------- DROP TABLE IF EXISTS `user_kmmy`; CREATE TABLE `user_kmmy` ( `userid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID 绝对唯一', `email` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户邮箱', `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户手机', `usertype` int(10) NOT NULL DEFAULT 0 COMMENT '用户权限类型:0普通,1管理员', `subuser` tinyint(2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否有子账户', `uname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名', `passwd` char(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码', `isactive` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否激活', `salt` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '加密盐值', `head_img` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户头像', `locked` tinyint(2) NOT NULL DEFAULT 0 COMMENT '禁用账号 : 0 正常 , 1 禁用', `create_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '账号创建时间', `last_login_time` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '用户最后登陆时间', `update_time` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '管理员更新用户状态的时间', PRIMARY KEY (`userid`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of user_kmmy -- ---------------------------- INSERT INTO `user_kmmy` VALUES (10, '', '', 0, 0, '用户Root', '54725db42d08af904bb26647bc2b892f', 0, '2d793d799d5f4e3f9eafa9522f6b4fb2', '/images/defaultUserTitle.jpg', 0, '2020-06-05 13:43:52', '2020-06-05 13:43:52', '2020-06-05 13:43:52', NULL, NULL); SET FOREIGN_KEY_CHECKS = 1;6.修改主启动类,在主启动类上加上@MapperScan注解,后面跟自己的项目组名 @MapperScan(basePackages = {"com.kmmy.app*.mapper"})三、 1.新建common包 包下创建工具类 MD5Utils /** * @author zsj * 2019-08-20 */ public class MD5Utils { /** * 使用md5的算法进行加密 */ public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = MessageDigest.getInstance("md5").digest( plainText.getBytes()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("没有md5这个算法!"); } // 16进制数字 String md5code = new BigInteger(1, secretBytes).toString(16); // 如果生成数字未满32位,需要前面补0 for (int i = 0; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |